package cn.iocoder.yudao.module.system.videostore.dto.product;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

@Data
public class SkuDeliverInfoDTO implements Serializable {

    @Schema(description = "sku库存情况。0:现货（默认），1:全款预售。部分类目支持全款预售，具体参考文档获取类目信息中的字段attr.pre_sale", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer stock_type;

    @Schema(description = "sku发货节点，该字段仅对stock_type=1有效。0:付款后n天发货，1:预售结束后n天发货", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer full_payment_presale_delivery_type;

    @Schema(description = "sku预售周期开始时间，秒级时间戳，该字段仅对delivery_type=1有效。", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer presale_begin_time;

    @Schema(description = "sku预售周期结束时间，秒级时间戳，该字段仅对delivery_type=1有效。限制：预售结束时间距离现在<=30天，即presale_end_time - now <= 2592000。预售时间区间<=15天，即presale_end_time - presale_begin_time <= 1296000", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer presale_end_time;

    @Schema(description = "sku发货时效，即付款后/预售结束后{full_payment_presale_delivery_time}天内发货，该字段仅对stock_type=1时有效。当发货节点选择“0:付款后n天发货”时，范围是[4, 15]的整数；当发货节点选择“1:预售结束后n天发货”时，范围是[1, 3]的整数。", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer full_payment_presale_delivery_time;

}
